package com.ruoyi.lock.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.util.Date;

/**
 * 房屋管理对象 a_build_home
 * 
 * @author arvin
 * @date 2025-03-06
 */
@Data
public class ABuildHome extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 房间编号 */
    @Excel(name = "房间编号")
    private String roomNum;

    /** 房间名称 */
    @Excel(name = "房间名称")
    private String roomName;

    /** 房型类型 */
    @Excel(name = "房型类型")
    private Long roomTypeId;

    /** 容纳人数 */
    @Excel(name = "容纳人数")
    private Long rentablePersonQuantity;

    /** 逻辑删除  */
    @Excel(name = "逻辑删除 ")
    private Long deleteFlg;

    /** 房间状态 */
    @Excel(name = "房间状态")
    private Long roomStatus;

    /** 房间照片 */
    @Excel(name = "房间照片")
    private String photo;

    /** 小区id */
    @Excel(name = "小区id")
    private Long cellId;

    /** 单元id */
    @Excel(name = "单元id")
    private Long unitId;

    /** 楼层号 */
    @Excel(name = "楼层号")
    private String floorId;


    /** 小区名称 */
    private String cellName;

    /** 单元名称 */
    private String unitName;

    /** 楼层名称 */
    private String floorName;

    /** 房屋编号 */
    @Excel(name = "房屋编号")
    private String code;

    /** 电池电量 */
    private Integer batteryLevel;

    /** 最后通讯时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private java.util.Date lastCommunication;

    /** 门锁通讯密钥 */
    private String secKey;

    /** 管理员密码 */
    private String pwd;

    /** 管理员密码Id */
    private Integer pwdId;
    
    /** 锁数量 */
    private Integer lockCount;
    
    /** 入住人数 */
    @Excel(name = "入住人数")
    private Long tenantCount;

    /** 用户ID（用于过滤已入住房间） */
    private Long userId;

    /** 设备MAC地址 */
    private String mac;

    /** 锁状态 */
    @Excel(name = "锁状态")
    private Long lockState;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;
}
